/**
 * 后台js工具类
 */
var jsUtils={
    getFormatMoney: function(account) {
        var ret = '';
        if (account != null){
            if (account >= 10000) {
                ret = account / 10000;
                ret = formatMoney(ret, 1) + " 万元";
            } else{
                ret = formatMoney(account, 1) + " 元";
            }
        }
        return ret;
    },

    getTerm: function(proTerm) {
        var ret = '';
        if (proTerm != null) {
            if (proTerm > 360) {
                ret = proTerm / 360 + " 年";
            } else if (proTerm > 30) {
                ret = proTerm / 30 + " 月";
            } else {
                ret = proTerm + " 天";
            }
        }
        return ret;
    },
    serializeJson:function(jq){
        var arr = jq.serializeArray();
        var ret = {};
        if (arr) {
            for (var i = 0; i < arr.length; i++) {
                var k = arr[i].name;
                var v = arr[i].value;
                if (typeof ret[k] != 'undefined') {
                    if (ret[k] instanceof Array) {
                        ret[k].push(v);
                    }
                    else {
                        ret[k] = [ ret[k], v ];
                    }
                } else {
                    ret[k] = v;
                }
            }
        }
        return ret;
    },

    gotoUrl:function(url,params){
        var edcodeParam='';
        if(url.length==0){
            console.error('参数错误：url为空');
        }else{
            if(params!=null&&params.length!=0){
                for(var i=0,len=params.length;i<len;i++){
                    edcodeParam+=params[i].name+'='+encodeURI(params[i].value)+'&';
                }
                edcodeParam=edcodeParam.substring(0,edcodeParam.length-1);
                location.href=url+'?'+edcodeParam;
            }else{
                location.href=url;
            }
        }
    },

    //权限控制，控制按钮权限
    controlFunctionBtn:function(){
        //控制按钮权限

        var funcBtnsArr=funcBtns.split(',');
        //alert("funcBtnsArr = " + funcBtnsArr);
        $('a').each(function(idx,el){
            var btnName=$(el).attr('name');
            if(funcBtns.indexOf(btnName) >= 0){
                $(el).css('display','');
            }
        });



        $('button').each(function(idx,el){
            var btnName=$(el).attr('name');
            if(funcBtns.indexOf(btnName)>= 0){
                $(el).css('display','');
            }
        });

        /*
         var funcBtnsArr=funcBtns.split(',');
         alert("funcBtnsArr = " + funcBtnsArr);
         $('a').each(function(idx,el){
         var btnName=$(el).attr('name');

         for(var i=0;i<funcBtnsArr.length;i++){
         if($.trim(btnName)==$.trim(funcBtnsArr[i])){
         $(el).css('display','');
         }
         }
         });

         $('button').each(function(idx,el){
         var btnName=$(el).attr('name');
         alert("btnName = " + btnName + "  funcBtnsArr.length = " + funcBtnsArr[0])
         for(var i=0;i<funcBtnsArr.length;i++){
         if($.trim(btnName)==$.trim(funcBtnsArr[i])){
         $(el).css('display','');
         }
         }
         });
         */
    },

    getDictionaryTxtByType:function(type,val){

        if( val!=0 && (val==''||val==null)){
            return '';
        }

        var txt=$('#comDictionary select[name="'+type+'"] option[value="'+val+'"]').text();




        return txt;
    }
}
//异步请求方法  url请求路径，data参数，callback回调方法，type请求类型
function sendApiNoLoad(url, data, callback, type, scope, loadingEl) {

    jQuery.ajax({
        type : type,
        url : url,
        contentType : 'application/json',
        data : JSON.stringify(data),
        dataType : 'json',
        timeout : 30000, // 30秒超时
        success : function(result, textStatus) {

            callback.call(scope, result);
            if(window.parent.setLiAbled){
                window.parent.setLiAbled();
            }
        },
        error : function(result) {

            console.log(result);
            //alert(result.status+'请求错误，请稍后再试！');
            if(window.parent.setLiAbled){
                window.parent.setLiAbled();
            }
        }
    });
};
//异步请求方法  url请求路径，data参数，callback回调方法，type请求类型
function sendApiNoLoad01(url, data, callback, type, scope, loadingEl) {

    jQuery.ajax({
        type : type,
        url :url,
        contentType : 'application/json',
        data : JSON.stringify(data),
        dataType : 'json',
        timeout : 30000, // 30秒超时
        success : function(result, textStatus) {

            callback.call(scope, result);
            if(window.parent.setLiAbled){
                window.parent.setLiAbled();
            }
        },
        error : function(result) {

            console.log(result);
            //alert(result.status+'请求错误，请稍后再试！');
            if(window.parent.setLiAbled){
                window.parent.setLiAbled();
            }
        }
    });
};

//同步请求方法  url请求路径，data参数，callback回调方法，type请求类型
function sendApiNoLoadSync(url, data, callback, type, scope, loadingEl) {
    jQuery.ajax({
        async : false,
        type : type,
        url : url,
        contentType : 'application/json',
        data : JSON.stringify(data),
        dataType : 'json',
        timeout : 30000, // 30秒超时
        success : function(result, textStatus) {

            callback.call(scope, result);

            if(window.parent.setLiAbled){
                window.parent.setLiAbled();
            }
        },
        error : function(result) {
            if(window.parent.setLiAbled){
                window.parent.setLiAbled();
            }
            //alert(result.status+'请求错误，请稍后再试！');
        }
    });
};

//同步请求方法  url请求路径，data参数，callback回调方法，type请求类型
function sendApiNoLoadSyncFile(url, data, callback, type, scope, loadingEl) {
    jQuery.ajax({
        async : false,
        type : type,
        contentType : 'multipart/form-data',
        url : APP_ADDRESS+url,
        data : data,
        timeout : 30000, // 30秒超时
        success : function(result, textStatus) {
            callback.call(scope, result);
        },
        error : function(result) {
            alert(result.status+'请求错误，请稍后再试！');
        }
    });
};

function ajaxFileUpload(url,fileElementId, data){
    $.ajaxFileUpload({
        url : APP_ADDRESS+url,
        secureuri: false,
        fileElementId: fileElementId,//file控件id
        dataType: 'json',
        data: data,
        type:"POST",
        success: function (data, status) {
            if (typeof(data.error) != 'undefined') {
                if (data.error != '') {
                    alert(data.error);
                } else {
                    alert(data.msg);
                }
            }
        },
        error: function (data, status, e) {
            alert("error");
            alert(e);
        }
    });
}

Date.prototype.format = function(format)//
{
    var o = {
        "M+" : this.getMonth() + 1, // month
        "d+" : this.getDate(), // day
        "h+" : this.getHours(), // hour
        "m+" : this.getMinutes(), // minute
        "s+" : this.getSeconds(), // second
        "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
        "S" : this.getMilliseconds()
        // millisecond
    };
    if (/(y+)/.test(format))
        format = format.replace(RegExp.$1, (this.getFullYear() + "")
            .substr(4 - RegExp.$1.length));
    for ( var k in o)
        if (new RegExp("(" + k + ")").test(format))
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
                : ("00" + o[k]).substr(("" + o[k]).length));
    return format;
};

/**
 * 转换日期对象为日期字符串
 *
 * @param date
 *            日期对象
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDate(date, isFull) {
    var pattern = "";
    if (isFull == true || isFull == undefined) {
        pattern = "yyyy-MM-dd hh:mm:ss";
    } else {
        pattern = "yyyy-MM-dd";
    }
    return getFormatDate(date, pattern);
}
/**
 * 转换当前日期对象为日期字符串
 *
 * @param date
 *            日期对象
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatNowDate(isFull) {
    return getSmpFormatDate(new Date(), isFull);
}
/**
 * 转换long值为日期字符串
 *
 * @param l
 *            long值
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDateByLong(l, isFull) {
    return getSmpFormatDate(new Date(l), isFull);
}
/**
 * 转换long值为日期字符串
 *
 * @param l
 *            long值
 * @param pattern
 *            格式字符串,例如：yyyy-MM-dd hh:mm:ss
 * @return 符合要求的日期字符串
 */
function getFormatDateByLong(l, pattern) {
    return getFormatDate(new Date(l), pattern);
}
/**
 * 转换日期对象为日期字符串
 *
 * @param l
 *            long值
 * @param pattern
 *            格式字符串,例如：yyyy-MM-dd hh:mm:ss
 * @return 符合要求的日期字符串
 */
function getFormatDate(date, pattern) {
    if (date == undefined) {
        date = new Date();
    }
    if (pattern == undefined) {
        pattern = "yyyy-MM-dd hh:mm:ss";
    }
    return date.format(pattern);
}

/*
 * formatMoney(s,type) 功能：金额按千位逗号分割 参数：s，需要格式化的金额数值. 参数：type,判断格式化后的金额是否需要小数位.
 * 返回：返回格式化后的数值字符串.
 */
/*
 * formatMoney(s,type) 功能：金额按千位逗号分割 参数：s，需要格式化的金额数值. 参数：type,判断格式化后的金额是否需要小数位.
 * 返回：返回格式化后的数值字符串.
 */
function formatMoney(s, type) {
    var orign=s;
    if (/[^0-9\.]/.test(s))
        return "0";
    if (s == null || s == "")
        return "0";
    s = s.toString().replace(/^(\d*)$/, "$1.");
    s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
    s = s.replace(".", ",");
    var re = /(\d)(\d{3},)/;
    while (re.test(s))
        s = s.replace(re, "$1,$2");
    s = s.replace(/,(\d\d)$/, ".$1");
    if (type == 0&& orign.toString().indexOf('.')<0) {// 不带小数位(默认是有小数位)
        var a = s.split(".");
        if (a[1] == "00") {
            s = a[0];
        }
    }
    return s;
}
